
این مقاله نحوه ایجاد قابلیتی را می آموزد که ضوابط فیلتر کردن را از طریق یک فرم جدولی اکسس 2003 وارد کنید و دکمه ای بنام Query داشته باشید تا فیلتر اعمال شود.
این فیلتر 4 تکست باکس بنام های txtFirstName ، txtMiddleInitial ، txtLastName وtxtSSN دارد که جدول دیتابیس member نام دارد و فیلد هایی بنام های First ، Mi ، Last و SSNدارد .
فانکشن
AttachAnd
که برای ساخت جمله فیلتر کننده
SQL
استفاده میشود :
"First='David' and Last='Nishimoto'".
ساخت فانکشن :
Option Compare Database
Dim ssql
1- کاربر دکمه query را فشار داد
2-یا اینکه شما میتوانید یک دکمه برای رویداد exit قرار دهید.
Private Sub cmdQuery_Click()
BuildQueryCommand
End Sub
3- فانکشن BuildQueryCommand یک فیلتر با ضوابطی که از تکست باکس ها دریافت کرده میسازد
4 – قوانین فیلتر اعمال شد .
Private Function BuildQueryCommand()
sSQL = ""
Call AttachAnd("First", "'" & txtFirstName & "'")
Call AttachAnd("Mi", "'" & txtMiddleInitial & "'")
Call AttachAnd("Last", "'" & txtLastName & "'")
Call AttachAnd("SSN", "'" & txtSSN & "'")
Filter = sSQL
FilterOn = True
End Function
ضوابط چندگانه یا تکی را بررسی کنید
Single: "first='David'"
Multiple:"First='David' and Last='Nishimoto'"
Private Function AttachAnd(sField, sValue)
If sValue = "''" Or sValue = "" Then
Exit Function
End If
If Occurances(sSQL, "=") = 0 Then
sSQL = sSQL & sField & "=" & sValue
Else
sSQL = sSQL & " and " & sField & "=" & sValue
End If
End Function
رخدادهای یک طرح را در عبارت SQL بشمارید
Private Function Occurances(sSQL, sOperator)
Dim offset
Dim iCount
offset = 1
While offset 0
offset = InStr(offset + 1, sSQL, sOperator)
If offset > 1 Then
iCount = iCount + 1
End If
Wend
Occurances = iCount
نظرات شما عزیزان: